package io.github.cchenxi.crpc.simple.example.api;

/**
 * 用户API
 * Date: 2024-03-06
 *
 * @author chenxi
 */
public interface UserService {
    /**
     * 根据id查找用户
     *
     * @param id 用户ID
     * @return {@link User}
     */
    User findById(int id);

    /**
     * 根据id查找用户
     *
     * @param id 用户id
     * @param name 用户名
     * @return {@link User}
     */
    User findById(int id, String name);

    /**
     * 获取名字
     *
     * @param id 用户ID
     * @return 名字
     */
    String getName(int id);

    /**
     * 获取id
     *
     * @param id 用户ID
     * @return 用户ID
     */
    long getId(long id);

    long getId(float id);

    /**
     * 获取 user 的ID
     * @param user 用户
     * @return 用户ID
     */
    long getId(User user);

    int[] getIds(int id);

    float[] getIds(float id);

    long[] getIdsFromIds(int[] ids);
}
